Non-volatile memory is an integral part of many electronic devices from mobile phones, digital cameras, and set-top boxes, to automotive engine controllers primarily because of its ability to store data even when power is turned off. Among the leading technologies for non-volatile memory are flash memory and phase change memory (PCM).
As is well known in the art, due to their inefficient per-byte alterablility, flash memory is typically erased in a block-by-block manner (block erase) prior to being programmed (e.g., storing data therein). This block erase typically comprises, for example, changing the polarity of a component through the use of Fowler-Nordheim tunneling. This typically entails the simultaneous application of a large negative voltage to a control gate and a positive voltage to a source, while leaving a drain floating.
Phase change memories, on the other hand, are typically programmed in a bitwise or bytewise fashion, which requires individually programming at least one cell by running a prescribed current through it. Not only is block erase not typically used in conjunction with the programming of PCMs, but many references, such as U.S. Patent Application Publication No. 2006/0056233, specifically recite that the ability to program PCMs without performing a block erase is an advantageous feature, as it allegedly renders the programming of PCMs more efficient than that of flash memory. Nonetheless, there may be instances when performing a block erase is desirable, as will be discussed herein.
Accordingly, there exists a need for techniques for programming a PCM that incorporate block erase functionality in an inventive fashion so as to provide for more efficient programming as compared to the prior art.